chore(cli): track output_format and fix is_agent CI parity#5513
Conversation
Coverage Report for CI Build 27192135150Warning No base build found for commit Coverage: 64.268%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase@5513Preview package for commit |
|
Thanks Pam. I pushed a small follow-up to fix the legacy TS telemetry path. The issue was that several legacy commands emit Go-style machine output via The follow-up now resolves |
Summary
Adds an
output_formatproperty to thecli_command_executedtelemetry event and fixes a Go/TS divergence in howis_agentis computed. Together these make the JSON-vs-human output choice measurable and ensure both CLI shells agree on what counts as an agent. This is the measurement-and-parity groundwork for auto-switching agents to JSON output (next subissue under GROWTH-806).Changes
cli_command_executed. Addedoutput_formatto the Go catalog (events.go) and its TS mirror (event-catalog.ts), and emit it from the Go capture and both TS instrumentation paths.db queryresolves its format into a command-local flag, so it now mirrors the resolved value onto the global that telemetry reads, keeping the value accurate for the highest-volume agent command. The property does not exist today, so current JSON usage is unmeasurable without it.is_agentGo/TS parity. The TS legacy analytics layer folded CI intois_agent(is_agent = aiTool || isCi), tagging CI environments as agents while the Go binary does not.is_agentnow reflects coding-agent detection only, matching Go on both shells.is_cicontinues to be reported as its own separate property.Notes for reviewers
output_formatvalues are shell-native (Go:pretty|json|yaml|toml|env; TS:text|json|stream-json), disambiguated by$lib; normalize in analysis.runtime.isCigates behavior inlegacy-platform-api.layer.ts, so changing those lists would alter non-interactive behavior for some CI environments. That belongs in a separate change, not this telemetry-parity fix.Outputbecause the instrumentation readsoutput.format.Linear